In computing, file system and registry libraries are typically used to maintain data descriptive of the configuration of a computing device. A file system generally includes data for translating a physical sector of a memory disc to a logical structure. The logical structure can be used by a computer operating system to access data stored in physical memory. Registry libraries generally include configuration data such as setup, user preference, software, hardware, and system parameters information.
Certain operations, when executed by a computing device, introduce changes to file system and/or registry data. For example, operations may cause such data to be created, deleted, or modified. In some situations, changes to the file system or registry data may be undesirable or unmanageable, or may introduce instability into a computing system. As an example, when a computer program is conventionally installed to a computing device, the file system and/or registry data is typically updated. These changes can cause the computing device to become susceptible, or more susceptible than before, to potential problems such as unwanted deletions of configuration data, data redundancies, computer program versioning issues, execution of unwanted processes, inoperability of computer programs, and conflicts between computer programs.
Such problems are exacerbated for an administrator or organization maintaining a computer system having a large number of computing devices and associated users. In such a configuration, events such as rogue installations of computer programs can easily introduce any of the problems listed above. Finding and correcting such problems can be very difficult and time consuming, if not impossible, in a large computer system.
To a certain degree, conventional system restore technologies can be used to restore file system and registry settings to a previous state when a problem is introduced into a computing system. Conventional system restore technologies typically capture static snapshots of computing system configurations. Such snapshots must be captured in advance of problems occurring and stored in order to be available when problems do occur. System restore snapshots are typically system-wide and can, therefore, tie up significant memory resources.